var session_time = 30 /*min*/ *60 /*sec*/;
var session_visual_element = document.getElementById('session_counter');

/*
 * Example:
 * <span id="session_counter"></span>
 * <script src="js/session_counter.js" type="text/javascript"></script>
 *
 */
function session_counter() {
    if (session_time > 0) {
        session_time--;
        var min = Math.floor(session_time / 60);
        var sec = session_time - (min * 60);
        if (sec < 10) { sec = "0" + sec; }
        if (min < 10) { min = "0" + min; }
        var time = min + ":" + sec;
        if (session_time == 45) {
            Notifier.warning("Сессия скоро истечет.");
        }
        var $time = $('<b>');
        if (session_time < 45) { 
            $time.css('color','red');
        }
        $(session_visual_element).find('*').remove();
        $(session_visual_element).append($time.text(time)); 
        setTimeout("session_counter()", 1000);
    }
    else {
        session_visual_element.innerHTML = "<b style='color:red'>Время истекло!</b>";
        alert("Сессия закрыта! Сейчас будет произведено перенаправление на главную страницу.");
        window.location = "j_spring_security_logout";
    }
}
session_counter();